import request from "@/utils/request";

// 调用登录接口
export function loginApi(data) {
  return request({
    url: "/login",
    method: "post",
    data,
  });
}
// 调用登出接口
export function logoutApi(data) {
  return request({
    url: "/logout",
    method: "post",
    data,
    // keepalive: true,
  });
}

// 获取当前用户-获取用户信息
export function systemUsersMeApi() {
  return request({
    url: "/system/users/me",
    method: "get",
  });
}

// // // api/user.js（修复后：添加 await + 完善错误处理）
// // import axios from "axios";
// // import { getToken } from "@/utils/auth";

// // // 1. 保存 Axios 内置适配器
// // const defaultAdapter = axios.defaults.adapter;

// // export function logoutApi(params) {
// //   return axios({
// //     url: "/api/user/logout",
// //     method: "POST",
// //     data: params,
// //     headers: {
// //       "Content-Type": "application/json",
// //       "Authorization": `Bearer ${getToken() || ""}`
// //     },
// //     // 2. 修复：async 函数内必须 await Promise
// //     adapter: async (config) => {
// //       try {
// //         // 关键修复：添加 await，等待内置适配器执行完成
// //         config.keepalive = true;
// //         const response = await defaultAdapter(config);
// //         return response; // 返回正常响应（供上层 .then() 获取）
// //       } catch (error) {
// //         // 可选：捕获并处理请求错误（如网络中断、超时）
// //         console.error("logout 请求失败：", error.message);
// //         // 即使失败，也可返回一个“错误响应”（避免上层报错）
// //         return {
// //           data: { code: 500, msg: "退出请求发送失败" },
// //           status: 500,
// //           statusText: "Error"
// //         };
// //       }
// //     },
// //     timeout: 5000
// //   });
// // }
// 获取登录验证码图片-base64
export function getCaptchaImageApi() {
  return request({
    url: "/captchaImage",
    method: "get",
    // GET请求无参数时可以省略params
  });
}

// 获取主页公告
export function noticesListLimitApi() {
  return request({
    url: "/notices?isEffective=1&isPublished=1",
    method: "get",
  });
}
// 忘记管理员密码
export function meForgetPasswordApi(data) {
  return request({
    url: "/forget-admin-password",
    method: "post",
    data,
  });
}
